<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        * {
            margin: 0;
            padding: 0;
        }

        body {
            background-color: pink;
            user-select: none;
        }

        .box {
            width: 300px;
            height: 300px;
            margin: auto;
            border: 1px solid red;
            border-radius: 50%;
            text-align: center;
            text-transform: uppercase;
            font-size: 26px;
            font-weight: bold;
            position: relative;
            animation: sp 20s linear infinite;

        }

        @keyframes sp {
            0% {
                transform: rotate(360deg);
            }

            100% {
                transform: rotate(0);
            }
        }

        .box span {
            position: absolute;
            top: 0;
            left: 0;
            bottom: 0;
            right: 0;
        }
    </style>
</head>

<body>
    <div class="box">
        helloworldhelloworld
    </div>
</body>
<script>
    const box = document.querySelector(".box")
    const text = box.innerText
    box.innerText = ""
    for (let i = 0; i < text.length; i++) {
        let item = text[i]
        let span = document.createElement("span")
        box.appendChild(span)
        span.innerText = item
        let r = (360 / text.length) * i
        span.style.transform = `rotate(${r}deg)`
    }
</script>

</html>